From cd3cd130541f7a72706120511156c6a61e3bbcc8 Mon Sep 17 00:00:00 2001 From: tsteven4 <13596209+tsteven4@users.noreply.github.com> Date: Fri, 8 Sep 2023 06:34:56 -0600 Subject: [PATCH] make all but the stack filter dynamic. (#1174) --- filter_vecs.cc | 72 ++++++++++++++++++++++++++------------------------ 1 file changed, 37 insertions(+), 35 deletions(-) diff --git a/filter_vecs.cc b/filter_vecs.cc index 6e0f23d67..ccb2e1a6b 100644 --- a/filter_vecs.cc +++ b/filter_vecs.cc @@ -65,47 +65,39 @@ Filter* fltfactory() } struct FilterVecs::Impl { - ArcDistanceFilter arcdist; - BendFilter bend; - DiscardFilter discard; - DuplicateFilter duplicate; - HeightFilter height; - InterpolateFilter interpolate; - PolygonFilter polygon; - PositionFilter position; - RadiusFilter radius; - ReverseRouteFilter reverse_route; - SimplifyRouteFilter routesimple; StackFilter stackfilt; - SwapDataFilter swapdata; - TrackFilter trackfilter; const QVector filter_vec_list = { #if FILTERS_ENABLED { - &arcdist, + nullptr, "arc", "Include Only Points Within Distance of Arc", + &fltfactory }, { - &bend, + nullptr, "bend", - "Add points before and after bends in routes" + "Add points before and after bends in routes", + &fltfactory }, { - &discard, + nullptr, "discard", - "Remove unreliable points with high hdop or vdop" + "Remove unreliable points with high hdop or vdop", + &fltfactory }, { - &duplicate, + nullptr, "duplicate", "Remove Duplicates", + &fltfactory }, { - &interpolate, + nullptr, "interpolate", - "Interpolate between trackpoints" + "Interpolate between trackpoints", + &fltfactory }, { nullptr, @@ -114,19 +106,22 @@ struct FilterVecs::Impl { &fltfactory }, { - &polygon, + nullptr, "polygon", "Include Only Points Inside Polygon", + &fltfactory }, { - &position, + nullptr, "position", "Remove Points Within Distance", + &fltfactory }, { - &radius, + nullptr, "radius", "Include Only Points Within Radius", + &fltfactory }, { nullptr, @@ -135,9 +130,10 @@ struct FilterVecs::Impl { &fltfactory }, { - &routesimple, + nullptr, "simplify", "Simplify routes", + &fltfactory }, { nullptr, @@ -148,17 +144,20 @@ struct FilterVecs::Impl { { &stackfilt, "stack", - "Save and restore waypoint lists" + "Save and restore waypoint lists", + nullptr }, { - &reverse_route, + nullptr, "reverse", "Reverse stops within routes", + &fltfactory }, { - &trackfilter, + nullptr, "track", - "Manipulate track lists" + "Manipulate track lists", + &fltfactory }, { nullptr, @@ -167,14 +166,16 @@ struct FilterVecs::Impl { &fltfactory }, { - &height, + nullptr, "height", - "Manipulate altitudes" + "Manipulate altitudes", + &fltfactory }, { - &swapdata, + nullptr, "swap", - "Swap latitude and longitude of all loaded points" + "Swap latitude and longitude of all loaded points", + &fltfactory }, { nullptr, @@ -184,9 +185,10 @@ struct FilterVecs::Impl { } #elif defined (MINIMAL_FILTERS) { - &trackfilter, + nullptr, "track", - "Manipulate track lists" + "Manipulate track lists", + &fltfactory } #endif }; -- 2.30.2